John Douglas Porteous author data searchable via API